    .switch {
        margin: 50px auto;
        position: relative;
        z-index: 2;
    }

    .switch label {
        width: 100%;
        height: 100%;
        position: relative;
        display: block;
    }

    .switch input {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0;
        z-index: 100;
        position: absolute;
        width: 100%;
        height: 100%;
        cursor: pointer;
    }

    .switch.demo4 {
        width: 150px;
        height: 150px;
    }

    .switch.demo4 label {
        border-radius: 50%;
        background: #b2ac9e;
        background: -moz-linear-gradient(#f7f2f6, #b2ac9e);
        background: -ms-linear-gradient(#f7f2f6, #b2ac9e);
        background: -o-linear-gradient(#f7f2f6, #b2ac9e);
        background: -webkit-gradient(linear, 0 0, 0 100%, from(#f7f2f6), to(#b2ac9e));
        background: -webkit-linear-gradient(#f7f2f6, #b2ac9e);
        background: linear-gradient(#f7f2f6, #b2ac9e);
        position: relative;
        color: #a5a39d;
        font-size: 70px;
        text-align: center;
        line-height: 150px;

        -webkit-transition: all 0.3s ease-out;
        -moz-transition: all 0.3s ease-out;
        -ms-transition: all 0.3s ease-out;
        -o-transition: all 0.3s ease-out;
        transition: all 0.3s ease-out;

        text-shadow: 0 2px 1px rgba(0, 0, 0, 0.25);

        box-shadow:
            inset 0 2px 3px rgba(255, 255, 255, 0.13),
            0 5px 8px rgba(0, 0, 0, 0.3),
            0 10px 10px 4px rgba(0, 0, 0, 0.3);
        z-index: -1;
    }

    .switch.demo4 label:after {
        content: "";
        position: absolute;
        left: -20px;
        right: -20px;
        top: -20px;
        bottom: -20px;
        z-index: -2;
        border-radius: inherit;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.1),
            0 1px 2px rgba(0, 0, 0, 0.3),
            0 0 10px rgba(0, 0, 0, 0.15);

    }

    .switch.demo4 label:before {
        content: "";
        position: absolute;
        left: -10px;
        right: -10px;
        top: -10px;
        bottom: -10px;
        z-index: -1;
        border-radius: inherit;
        box-shadow: inset 0 10px 10px rgba(0, 0, 0, 0.13);
        -webkit-filter: blur(1px);
        -moz-filter: blur(1px);
        -ms-filter: blur(1px);
        -o-filter: blur(1px);
        filter: blur(1px);
    }

    .switch.demo4 input:checked~label {
        box-shadow:
            inset 0 2px 3px rgba(255, 255, 255, 0.13),
            0 5px 8px rgba(0, 0, 0, 0.35),
            0 3px 10px 4px rgba(0, 0, 0, 0.2);
        color: #9abb82;
    }

    .switch.demo4 .icon-off:after {
        content: "";
        display: block;
        position: absolute;
        width: 70%;
        height: 70%;
        left: 50%;
        top: 50%;
        z-index: -1;
        margin: -35% 0 0 -35%;
        border-radius: 50%;
        background: #d2cbc3;
        background: -moz-linear-gradient(#cbc7bc, #d2cbc3);
        background: -ms-linear-gradient(#cbc7bc, #d2cbc3);
        background: -o-linear-gradient(#cbc7bc, #d2cbc3);
        background: -webkit-gradient(linear, 0 0, 0 100%, from(#cbc7bc), to(#d2cbc3));
        background: -webkit-linear-gradient(#cbc7bc, #d2cbc3);
        background: linear-gradient(#cbc7bc, #d2cbc3);
        box-shadow:
            0 -2px 5px rgba(255, 255, 255, 0.05),
            0 2px 5px rgba(255, 255, 255, 0.1);
    }